"""
MicroPython uos module stubs
Basic OS services
"""

from typing import Optional, Tuple, List

def uname() -> Tuple[str, str, str, str, str]:
    """Return system information"""
    ...

def chdir(path: str) -> None:
    """Change current directory"""
    ...

def getcwd() -> str:
    """Get current directory"""
    ...

def listdir(dir: str = '/') -> List[str]:
    """List directory contents"""
    ...

def mkdir(path: str) -> None:
    """Create directory"""
    ...

def remove(path: str) -> None:
    """Remove file"""
    ...

def rmdir(path: str) -> None:
    """Remove directory"""
    ...

def rename(old_path: str, new_path: str) -> None:
    """Rename file or directory"""
    ...

def stat(path: str) -> Tuple:
    """Get file or directory status"""
    ...

def statvfs(path: str) -> Tuple:
    """Get filesystem status"""
    ...

def sync() -> None:
    """Sync filesystem"""
    ...

def urandom(n: int) -> bytes:
    """Generate random bytes"""
    ...

def dupterm(stream_object, index: int = 0) -> Optional[object]:
    """Duplicate terminal on stream"""
    ...
